#pragma once
#include <vector>
//#include <list>
using namespace std;

namespace cl {
	template <class T, class Container>
	class stack {
	public:
		void push(const T& x) {_con.push_back(x);}
		void pop() { _con.pop_back(); }
		size_t size() { return _con.size(); }
		bool empty() { return _con.empty(); }
		T& top() { return _con.back(); }
	private:
		Container _con;
	};

	void test_stack() {
		stack<int, vector<int>> s1;
		//stack<int, list<int>> s1;
	}
}